#ifndef _MYFIND_H
#define _MYFIND_H 1
/*
 * --------------------------------------------------------------- defines --
 */
#define MAX_UGID_SIZE 10
#define MAX_PWNAME_SIZE 20
#define MAX_GRNAME_SIZE 20

/*
 * -------------------------------------------------------------- typedefs --
 */
enum getentryresult { ENTRY_ERROR = -1, ID_NOT_FOUND = 0, ID_FOUND = 1 };

/*
 * --------------------------------------------------------------- globals --
 */

/*
 * ------------------------------------------------------------- functions --
 */
char * strip_slashes(char * str);
int do_file(const char * full_file_name, const char * const * parms);
int do_dir(const char * dir_name, const char * const * parms);
void handle_parms(const char * full_file_name, const char * const * parms, struct stat stats);
char getentrytype(struct stat * stats);
int user_exists(const char * const name);
int group_exists(const char * const name);
enum getentryresult getentryowner(uid_t uid, char ** buf, size_t size);
enum getentryresult getentrygroup(gid_t gid, char ** buf, size_t size);
void printentry(const char * full_file_name);
void printentry_ls(const char * full_file_name, struct stat stats);
void fatal_error(const char * const argv[], char * msg, int exitcode);
int is_numeric(char * str);
void printusage(char * argv[]);

#endif
